package br.com.ex6professor;



import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import javax.swing.JOptionPane;

public class Helper {
     
  public static String lerDados(String mensagens){
    return JOptionPane.showInputDialog(mensagens);
  }
  
  
  public static String lerDados(
     String mensagem, String titulo, 
     int tipoJanela,Object[] valores, int indice){
     return JOptionPane.showInputDialog(
         null,
         mensagem,
         titulo,
         tipoJanela,
         null,
         valores,
         valores[indice]).toString(); 
      
  }
  public static String lerDados(String msg, String valor){
	  return JOptionPane.showInputDialog(msg + valor);
  }
  
  public static void escreverDados(String mensagem){
      JOptionPane.showMessageDialog(null,mensagem);
  }
  
  public static void escreverDados(Object objeto){
      JOptionPane.showMessageDialog(null,objeto);
  }
  
  public static void escreverDados(String titulo,
                                   String mensagem,
                                   int tipoJanela){
      JOptionPane.showMessageDialog(
              null,
              mensagem,
              titulo,
              tipoJanela,
              null);
  }
  
   public static void escreverDados(String titulo,
                                   Object objeto,
                                   int tipoJanela){
      JOptionPane.showMessageDialog(
              null,
              objeto,
              titulo,
              tipoJanela,
              null);
  }
   
  public static String formatarData(Date data,
                                    String formato){
      SimpleDateFormat sdf = new SimpleDateFormat(formato);
      return sdf.format(data);
  } 
  
  public static Date toDate(String data,String formato){
      Date saida = null;
      SimpleDateFormat sdf = new SimpleDateFormat(formato);
        try {  
           saida = sdf.parse(data);
           return saida;
        } catch (ParseException ex) {
           System.out.println(ex.getMessage());
        }     
      return saida;
  }
  
  public static Calendar toCalendar(String data,
                                    String formato){
    Calendar calendario = Calendar.getInstance();
    Date dt = toDate(data,formato);
    calendario.setTime(dt);
    return calendario;      
  }
  public static void lerData(String msg, Calendar cal){
	  String data = "";
	  if(cal != null)
		  data = formatarData(cal.getTime(), "dd/MM/yyyy");
	  
	  data = lerDados(msg, data);
	  if(data.trim().isEmpty()) 
		  cal = null;
	  else
		  cal.setTime(toCalendar(data, "dd/MM/yyyy").getTime()); 
  }
  
  public static String calendarToString(
                       Calendar calendario,
                       String formato){
    Date data = calendario.getTime();
    return formatarData(data,formato);
  }
  
  
  
  
}
